/*=========================================================================

Program:   Medical Imaging & Interaction Toolkit
Language:  C++
Date:      $Date: 2010-03-31 22:40:27 +0800 (周三, 31 三月 2010) $
Version:   $Revision: 1.0 $

Copyright (c) German Cancer Research Center, Division of Medical and
Biological Informatics. All rights reserved.
See MITKCopyright.txt or http://www.mitk.org/copyright.html for details.

This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.  See the above copyright notices for more information.

=========================================================================*/

#ifndef QmitkPaintbrushToolGUI_h_Included
#define QmitkPaintbrushToolGUI_h_Included

#include "QmitkToolGUI.h"
#include "QmitkExtExports.h"
#include "mitkPaintbrushTool.h"

class QSlider;
class QLabel;
class QFrame;

/**
  \ingroup org_mitk_gui_qt_interactivesegmentation_internal
  \brief GUI for mitk::PaintbrushTool.
  \sa mitk::PaintbrushTool

  This GUI shows a slider to change the pen's size.

  Last contributor: $Author$
*/
class QmitkExt_EXPORT QmitkPaintbrushToolGUI : public QmitkToolGUI
{
  Q_OBJECT

  public:
    mitkClassMacro(QmitkPaintbrushToolGUI, QmitkToolGUI);

    void OnSizeChanged(int current);

  signals:

  public slots:

  protected slots:

    void OnNewToolAssociated(mitk::Tool*);

    void OnSliderValueChanged(int value);

    void VisualizePaintbrushSize(int size);

  protected:

    QmitkPaintbrushToolGUI();
    virtual ~QmitkPaintbrushToolGUI();

    QSlider* m_Slider;
    QLabel* m_SizeLabel;
    QFrame* m_Frame;

    mitk::PaintbrushTool::Pointer m_PaintbrushTool;
};

#endif

